Это спецификация Mirosoft. Так как рассмотренный нами ранее тип BSTR был опасен в использовании, то для удобного программирования был создан класс _bstr_t. Этот класс представляет из себя оболочку для типа BSTR в нем встроены конструкторы и деструкторы, которые правильно организуют распределение памяти. Описан он в #include "comutil.h" У этого класса перегружено много операторов что значительно облегчает работу. Смотрите пример использования.
#include "stdafx.h"
#include "windows.h"
#include "ole2.h"
#include "iostream.h"
#include "comdef.h"
void main()
{
_bstr_t bstr=L"Hello";
bstr=L"Test Hello";
wprintf(L"%\n",(wchar_t*)bstr);
}
Вот такие операторы определены в _bstr_t.
copy length operator = operator += operator + operator ! operator ==, !=, <, >, <=, >= operator wchar_t*, char*.